if ( !window.controller ) throw new Error( '"controller" not initialized' );

if ( !controller.display.Location ) {
/** 
* Отображение объектов на локации и навигации по локации
*  - Загрузка новой информации о локации
*  - 
*/
	controller.display.Location = (function(){
        
        // Ссылка на основной контроллер с функциями
		var $ = controller;
        
        // Ссылка на обработчик шаблонов
		var display;

		var Location = function(game){
			$ = game;
		}
		var LocationPrototype = Location.prototype;
		
		LocationPrototype.Index = function()
		{	
            if (wj)
            {
			    wj.app.app.addClass("moz");
			    wj.app.app.removeClass("panel");		
            }											
			var data = {};									
			var uFolders = wj_user.get("folders");			
			var folders = {};
			var uDir = parseInt(wj_user.get("dir"));
			if (!uDir)
				uDir = 0;
			for(var fid in uFolders)
			{
				if (parseInt(uFolders[fid].parent_id) == uDir)
				{					
					folders[fid] = uFolders[fid];
				}				
			}
			data.folders = folders;
			return data;
		}
		
		LocationPrototype.Login = function()
		{
            if (wj)
            {
			    wj.app.app.removeClass("moz");
			    wj.app.app.addClass("panel");
            }
			var data = {};										
			return data;
		}
        
        LocationPrototype.Field = function(param)
        {
            if (wj)
            {
                wj.ExecC({"c": "goInField", "id": param.id, "twa":  wj.getComandID()});
            }
            var data = {};                                        
            return data;
        }
		
		LocationPrototype.Registration = function()
		{
            if (wj)
            {
			    wj.app.app.removeClass("moz");
			    wj.app.app.addClass("panel");
            }
			var data = {};										
			return data;
		}
        
        LocationPrototype.OpenContent = function(param)
        {                       
            inContent = true;  
            if (wj)
            {
                wj.app.app.removeClass("moz");
                wj.app.app.addClass("panel");
            }            
            var data = {};   
            if (curEditMode && curEditMode != "null" && curEditMode != "none" && curEditMode != "")
                data.mode = curEditMode;    
            else
                data.mode = null;
            data.field = wj_user.getField(parseInt(param.id));
            return data;
        }
		
		var method;
		LocationPrototype.getDisplay = function(op, param){
			return this[op](param);
			//return content;
		}
		LocationPrototype.getApp = function(){
			return this;
		}

		
		return Location;
	}());
}
